package prototipo;

public class Grilla {
	protected int[] inicio;
	protected int[] fin;
	protected Celda[][] matriz;
	
	public Grilla(){
		matriz= new Celda[32][32];
		inicio= new int[2];
		fin= new int[2];
		
    	for (int i=0;i<32;i++)
    		for (int j=0;j<32;j++)
    			matriz[i][j]=new Celda(1,null);
    	for (int z=0;z<30;z++){
    		matriz[z][5]=new Celda(3,null);
    		matriz[z][6]=new Celda(3,null);
    	}
    	
    	for (int z=1;z<31;z++){
    		
    		matriz[z][25]=new Celda(0,null);
    	}
    	
    	for (int z=2;z<32;z++){
    		matriz[z][11]=new Celda(0,null);
    		matriz[z][12]=new Celda(2,null);
    		
    	}
    		
    	for (int z=4;z<32;z++){
    		matriz[z][28]=new Celda(3,null);
    		matriz[z][29]=new Celda(3,null);
    	}
    	setCelda(13,2,2,-1);
    	setCelda(12,2,2,-1);
    	setCelda(11,2,2,4);
    	setCelda(10,2,2,-1);
    	setCelda(9,2,0,-1);
    	setCelda(8,2,0,-1);
    	setCelda(7,2,0,-1);
    	setCelda(6,2,0,-1);
    	setCelda(5,2,0,-1);
    	setCelda(4,2,0,-1);
    	setCelda(2,2,0,2);
    	setCelda(3,2,0,-1);
    	setCelda(1,2,0,-1);
    	setCelda(15,15,0,4);
    	setCelda(14,15,0,4);
    	setCelda(3,3,1,4);
    	for (int z=6;z<29;z++){
    		setCelda(z,16,0,6);
    		setCelda(z,17,0,6);
    	}
	}
	public void setInicio(int f,int c){
		inicio[0]=f;
		inicio[1]=c;
	}
	public void setFinal(int f,int c){
		fin[0]=f;
		fin[1]=c;
	}
	public int[] getInicio(){
		return inicio;
	}
	public int[] getFinal(){
		return fin;
	}
	public Celda getCelda(int f, int c){
		if ((f<matriz.length)&&(c<matriz[0].length)&&(f>=0)&&(c>=0)	)	return matriz[f][c];
		else return null;
	}
	public void setCelda(int f, int c, int tc,int to){
		Objeto o;
		switch (to){
		
		case 2: o=new Premio(to);break; 
		case 4: o=new Premio(to);break;
		case 6: o=new Obstaculo(to);break;
		default: o=null;
		}
		matriz[f][c]=new Celda(tc,o);
	}
	

}